.dv-spaceship {
  .dv-bg {
    position: absolute;
    width: to-length($viewport-width);
    height: to-length($viewport-height);
    @include dv-transform-origin(0 0);
    @include dv-transform(translate(0, 0));

    .dv-global-active & {
      filter: none;
      -ms-filter: none;
      -webkit-filter: none;
    }

    .dv-global-idle & {
      filter: blur(15px);
      -ms-filter: blur(15px);
      -webkit-filter: blur(15px);
    }
  }

  @mixin dv-bg-blur($p) {
    filter: blur($p);
    -ms-filter: blur($p);
    -webkit-filter: blur($p);
  }

  // @formatter:off
  @include dv-keyframes(dv-bg-blur) {
    0% { @include dv-bg-blur(0); }
    100% { @include dv-bg-blur(15px); }
  }
  @include dv-keyframes(dv-bg-blur-reverse) {
    0% { @include dv-bg-blur(15px); }
    100% { @include dv-bg-blur(0); }
  }
  // @formatter:on

  .space-sky {
    @include dv-keyframes(space-shaker) {
      // @formatter:off
      0% { @include dv-transform(translate(0, -300px)); }
      100% { @include dv-transform(translate(0, -360px)); }
      // @formatter:on
    }
    @include dv-animation(space-shaker 6s ease-in-out 1s infinite alternate);

    .dv-global-idle-ing & {
      animation: dv-bg-blur ($animation-duration * 20), space-shaker 6s ease-in-out 1s infinite alternate;
    }

    .dv-global-active-ing & {
      animation: dv-bg-blur-reverse $animation-duration, space-shaker 6s ease-in-out 1s infinite alternate;
    }
  }

  .space-ship {
    .dv-global-idle-ing & {
      @include dv-animation(dv-bg-blur ($animation-duration * 20));
    }

    .dv-global-active-ing & {
      @include dv-animation(dv-bg-blur-reverse $animation-duration);
    }
  }

  .space-header {
    position: absolute;
    width: 1200px;
    height: 300px;
    @include dv-transform-origin(0 0);
    @include dv-transform(translate(1320px, 0));
  }
}
